package com.agileboot.attendance.domain.record.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 打卡请求DTO
 *
 * @author agileboot
 */
@Data
@Schema(description = "打卡请求参数")
public class CheckInDTO {

    /**
     * 员工ID
     */
    @Schema(description = "员工ID")
    @NotNull(message = "员工ID不能为空")
    private Long employeeId;

    /**
     * 打卡类型（0：上班打卡；1：下班打卡）
     */
    @Schema(description = "打卡类型（0：上班打卡；1：下班打卡）")
    @NotNull(message = "打卡类型不能为空")
    private Integer checkType;

    /**
     * 经度
     */
    @Schema(description = "经度")
    private BigDecimal longitude;

    /**
     * 纬度
     */
    @Schema(description = "纬度")
    private BigDecimal latitude;

    /**
     * 打卡地址
     */
    @Schema(description = "打卡地址")
    private String address;

    /**
     * 打卡照片URL
     */
    @Schema(description = "打卡照片URL")
    private String photoUrl;

    /**
     * 备注信息
     */
    @Schema(description = "备注信息")
    private String remark;
} 